package com.mingqijia.gassafety.webserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mingqijia.gassafety.db.entity.WarnStrategyCheck;
import com.mingqijia.gassafety.db.entity.vo.WarnStrategyCheckVO;
import com.mingqijia.gassafety.shared.utils.commonUtils.PageUtil;
import com.mingqijia.gassafety.webserver.request.StrategyCheckRequest;
import com.mingqijia.gassafety.webserver.request.SaveWarnStrategyRequest;
import com.mingqijia.gassafety.webserver.request.WarnStrategyCheckListRequest;
import com.mingqijia.gassafety.webserver.request.WarnStrategyPetitionListRequest;

import javax.validation.Valid;

/**
 * <p>
 * 报警策略审核表 服务类
 * </p>
 *
 * @author wanghai
 * @since 2022-06-21
 */
public interface WarnStrategyCheckService extends IService<WarnStrategyCheck> {
    /**
     * 策略审核列表
     * @param request
     * @return
     */
    PageUtil<WarnStrategyCheck> getCheckList(WarnStrategyCheckListRequest request);
    /**
     * 取消审核
     * @param id
     */
    void cancel(Long id);
    /**
     * 策略审核
     * @param request
     */
    void strategyCheck(@Valid StrategyCheckRequest request);
    /**
     * 策略诉求管理列表
     * @param request
     * @return
     */
    PageUtil<WarnStrategyCheck> getPetitionList(WarnStrategyPetitionListRequest request);

    /**
     * 重新提交审核
     * @param request
     */
    void resubmit(SaveWarnStrategyRequest request);

    /**
     * 根据spId查询子公司
     */
    cn.hutool.json.JSONObject getChildSpId(String spId);
}
